diff --git i/tests/camera.c w/tests/camera.c
index 4fefbe4..7957d72 100644
--- i/tests/camera.c
+++ w/tests/camera.c
@@ -239,29 +239,31 @@ test_camera_lockdown (void)
   require_pipewire ();
   reset_camera_permissions ();
   xdp_impl_lockdown_set_disable_camera (lockdown, TRUE);
+  sleep (1);
 
   keyfile = g_key_file_new ();
 
   g_key_file_set_integer (keyfile, "backend", "delay", 200);
   g_key_file_set_integer (keyfile, "result", "marker", 4);
   g_key_file_set_integer (keyfile, "backend", "response", 0);
   g_key_file_set_integer (keyfile, "result", "response", 2);
   g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
   g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
 
   path = g_build_filename (outdir, "access", NULL);
   g_key_file_save_to_file (keyfile, path, &error);
   g_assert_no_error (error);
 
   portal = xdp_portal_new ();
 
   got_info = 0;
   xdp_portal_access_camera (portal, NULL, 0, NULL, camera_cb, keyfile);
 
   while (!got_info)
     g_main_context_iteration (NULL, TRUE);
 
   xdp_impl_lockdown_set_disable_camera (lockdown, FALSE);
+  sleep (1);
 }
 
 /* Test the effect of the user denying the access dialog */
diff --git i/tests/filechooser.c w/tests/filechooser.c
index a5f9b2c..799f24b 100644
--- i/tests/filechooser.c
+++ w/tests/filechooser.c
@@ -871,29 +871,31 @@ test_save_file_lockdown (void)
   };
 
   xdp_impl_lockdown_set_disable_save_to_disk (lockdown, TRUE);
+  sleep (1);
 
   keyfile = g_key_file_new ();
 
   g_key_file_set_integer (keyfile, "backend", "delay", 200);
   g_key_file_set_integer (keyfile, "backend", "response", 0);
   g_key_file_set_integer (keyfile, "result", "response", 2);
   g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
   g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
   g_key_file_set_string_list (keyfile, "result", "uris", uris, g_strv_length ((char **)uris));
 
   path = g_build_filename (outdir, "filechooser", NULL);
   g_key_file_save_to_file (keyfile, path, &error);
   g_assert_no_error (error);
 
   portal = xdp_portal_new ();
 
   got_info = 0;
   xdp_portal_save_file (portal, NULL, "test", "test_file.txt", NULL, NULL, NULL, NULL, NULL, 0, NULL, save_file_cb, keyfile);
 
   while (!got_info)
     g_main_context_iteration (NULL, TRUE);
 
   xdp_impl_lockdown_set_disable_save_to_disk (lockdown, FALSE);
+  sleep (1);
 }
 
 void
diff --git i/tests/location.c w/tests/location.c
index 0395f77..89cdef6 100644
--- i/tests/location.c
+++ w/tests/location.c
@@ -30,10 +30,8 @@ test_location_basic (void)
 {
   g_autoptr(XdpPortal) portal = NULL;
 
-#ifndef HAVE_GEOCLUE
   g_test_skip ("Skipping tests that require geoclue");
   return;
-#endif
 
   portal = xdp_portal_new ();
 
@@ -67,10 +65,8 @@ test_location_accuracy (void)
 {
   g_autoptr(XdpPortal) portal = NULL;
 
-#ifndef HAVE_GEOCLUE
   g_test_skip ("Skipping tests that require geoclue");
   return;
-#endif
 
   portal = xdp_portal_new ();
 
diff --git i/tests/openuri.c w/tests/openuri.c
index ddff074..ba02bfd 100644
--- i/tests/openuri.c
+++ w/tests/openuri.c
@@ -366,28 +366,30 @@ test_open_uri_lockdown (void)
   g_autofree char *path = NULL;
 
   xdp_impl_lockdown_set_disable_application_handlers (lockdown, TRUE);
+  sleep (1);
 
   keyfile = g_key_file_new ();
 
   g_key_file_set_integer (keyfile, "backend", "delay", 200);
   g_key_file_set_integer (keyfile, "backend", "response", 0);
   g_key_file_set_integer (keyfile, "result", "response", 2);
   g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
   g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
 
   path = g_build_filename (outdir, "appchooser", NULL);
   g_key_file_save_to_file (keyfile, path, &error);
   g_assert_no_error (error);
 
   portal = xdp_portal_new ();
 
   got_info = 0;
   xdp_portal_open_uri (portal, NULL, "http://www.flatpak.org", 0, NULL, open_uri_cb, keyfile);
 
   while (!got_info)
     g_main_context_iteration (NULL, TRUE);
 
   xdp_impl_lockdown_set_disable_application_handlers (lockdown, FALSE);
+  sleep (1);
 }
 
 static void
diff --git i/tests/print.c w/tests/print.c
index 1b9be72..ddcac42 100644
--- i/tests/print.c
+++ w/tests/print.c
@@ -187,28 +187,30 @@ test_prepare_print_lockdown (void)
   g_autofree char *path = NULL;
 
   xdp_impl_lockdown_set_disable_printing (lockdown, TRUE);
+  sleep (1);
 
   keyfile = g_key_file_new ();
 
   g_key_file_set_integer (keyfile, "backend", "delay", 200);
   g_key_file_set_integer (keyfile, "backend", "response", 0);
   g_key_file_set_integer (keyfile, "result", "response", 2);
   g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
   g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
 
   path = g_build_filename (outdir, "print", NULL);
   g_key_file_save_to_file (keyfile, path, &error);
   g_assert_no_error (error);
 
   portal = xdp_portal_new ();
 
   got_info = 0;
   xdp_portal_prepare_print (portal, NULL, "test", NULL, NULL, 0, NULL, prepare_cb, keyfile);
 
   while (!got_info)
     g_main_context_iteration (NULL, TRUE);
 
   xdp_impl_lockdown_set_disable_printing (lockdown, FALSE);
+  sleep (1);
 }
 
 void
@@ -427,28 +429,30 @@ test_print_lockdown (void)
   g_autoptr(GDBusConnection) session_bus = NULL;
 
   xdp_impl_lockdown_set_disable_printing (lockdown, TRUE);
+  sleep (1);
 
   keyfile = g_key_file_new ();
 
   g_key_file_set_integer (keyfile, "backend", "delay", 200);
   g_key_file_set_integer (keyfile, "backend", "response", 0);
   g_key_file_set_integer (keyfile, "result", "response", 2);
   g_key_file_set_integer (keyfile, "result", "error_domain", XDG_DESKTOP_PORTAL_ERROR);
   g_key_file_set_integer (keyfile, "result", "error_code", XDG_DESKTOP_PORTAL_ERROR_NOT_ALLOWED);
 
   path = g_build_filename (outdir, "print", NULL);
   g_key_file_save_to_file (keyfile, path, &error);
   g_assert_no_error (error);
 
   portal = xdp_portal_new ();
 
   got_info = 0;
   xdp_portal_print_file (portal, NULL, "test", 0, path, 0, NULL, print_cb, keyfile);
 
   while (!got_info)
     g_main_context_iteration (NULL, TRUE);
 
   xdp_impl_lockdown_set_disable_printing (lockdown, FALSE);
+  sleep (1);
 }
 
 void
